package com.uzai.console.service.turnlink;

import com.uzai.console.common.SelectVo;
import com.uzai.console.dto.turnlink.TurnLinkGenerateDto;
import com.uzai.console.dto.turnlink.TurnLinkGoodsAnalyzeDto;
import com.uzai.console.dto.turnlink.TurnLinkLeagueSettingDto;
import com.uzai.console.dto.turnlink.TurnShortLinkDto;
import com.uzai.console.vo.turnlink.TurnLinkGenerateVo;
import com.uzai.console.vo.turnlink.TurnLinkGoodsAnalyzeVo;
import com.uzai.console.vo.turnlink.TurnLinkLeagueSettingVo;

import java.util.List;

/**
 * @author mingyang.chen create in 2022/11/3 15:19
 */
public interface TurnLinkService {

    //拼多多(多多进宝账号), 抖音(自营大人账号)
    Integer ACCOUNT_TYPE_0 = 0;

    //拼多多(退老板账号), 抖音(官方共享账号)
    Integer ACCOUNT_TYPE_1 = 1;
    // 抖音(穿山甲)
    Integer ACCOUNT_TYPE_2 = 2;


    /**
     * 保存转链联盟配置
     *
     * @param turnLinkSettings
     * @return
     */
    List<Long> saveTurnLinkLeagueSetting(Long merId, List<TurnLinkLeagueSettingDto> turnLinkSettings);

    /**
     * 获取转链联盟配置
     *
     * @param merId
     * @return
     */
    List<TurnLinkLeagueSettingVo> getTurnLinkLeagueSetting(Long merId);

    /**
     * 获取指定平台的转链联盟配置
     *
     * @param merId
     * @param platform
     * @return
     */
    TurnLinkLeagueSettingVo getTurnLinkLeagueSettingByPlatform(Long merId, Integer platform);

    /**
     * 转链
     *
     * @param generateDto
     * @return
     */
    TurnLinkGenerateVo turnLink(TurnLinkGenerateDto generateDto);

    /**
     * 解析
     *
     * @param goodsAnalyze
     * @return
     */
    TurnLinkGoodsAnalyzeVo analyzeGoods(TurnLinkGoodsAnalyzeDto goodsAnalyze);

    /**
     * 生成短链接
     *
     * @param shortLinkDto
     * @return
     */
    String generateShortLink(TurnShortLinkDto shortLinkDto);

    String generateShortLink(String link, Long merId);

    TurnLinkGenerateVo activityTurnLink(TurnLinkGenerateDto generateDto);

    List<SelectVo> listMarketingActivity();
}
